package com.ce.pms.occupation.service;

import java.math.BigDecimal;

import com.ce.pms.base.service.IPmsBaseService;
import com.ce.pms.occupation.vo.OccupationChargeVO;


/**
 * 入伙预缴费服务接口
 */
public interface IOccupationChargeService extends IPmsBaseService{

   /**
    * 功能描述:新增入伙缴费  <br>
    * @param occupationChargeVO - 新增入伙缴费VO
    * @return OccupationChargeVO
    * @roseuid 494B68AA008C
    *
    * Create author:王浩羽 <br>
    * Create on:2009-1-12  <br>
    * Edit author:  <br>
    * Edit on:    <br>
    * Why:     <br>
    */
   public OccupationChargeVO addOccupationCharge(OccupationChargeVO occupationChargeVO);
   
   /** 功能描述: 检查是否允许新增入伙缴费 <br>
	 * @param identityValidateId 身份验证id
	 *
	 * Create author:付湘辉 <br>
	 * Create on:2009-1-13  <br>
	 * Edit author:  <br>
	 * Edit on:    <br>
	 * Why:     <br>
	*/
	public void checkIsAllowAddOccupationCharge(Long identityValidateId);
   
   /**
    * 删除入伙缴费
    * @param occupationChargeId - 删除入伙缴费ID
    * @roseuid 494B68DC01F4
    */
   public void delOccupationCharge(Long occupationChargeId);
   
   /**
    * 修改入伙缴费
    * @param occupationCharge - 修改入伙缴费vo
    * @return OccupationChargeVO
    * @roseuid 494B68CE0271
    */
   public OccupationChargeVO editOccupationCharge(OccupationChargeVO occupationCharge);
   
   /**
    * 功能描述:获取费用总额  <br>
 * @param identityValidateId 身份验证ID
 * @param houseId 房屋ID
 * @param joinMode 
    * @return
    * Create author: 王浩羽 <br>
    * Create on:Jan 13, 2009  <br>
    * Edit author:  <br>
    * Edit on:    <br>
    * Why:     <br>
    */
   public BigDecimal getTotalPaySum(Long identityValidateId, Long houseId, String joinMode);
}
